package PDF知识点;

/**
 * @description: 在线url pdf词频统计
 * @Author lxs
 * @Date 2025/5/16 9:59
 */
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.InputStream;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class OnlinePDFKeywordCounter {

    public static void main(String[] args) {
        String pdfUrl = "https://www.pdf"; // 你的在线 PDF 链接
        String keyword = "CLL";  // 需要统计的关键词

        try (InputStream inputStream = new URL(pdfUrl).openStream();
             PDDocument document = PDDocument.load(inputStream)) {

            PDFTextStripper stripper = new PDFTextStripper();
            String text = stripper.getText(document);

            // 使用正则匹配单词边界（忽略大小写）
            Pattern pattern = Pattern.compile("\\b" + Pattern.quote(keyword) + "\\b", Pattern.CASE_INSENSITIVE);
            Matcher matcher = pattern.matcher(text);

            int count = 0;
            while (matcher.find()) {
                count++;
            }

            System.out.println("词语 \"" + keyword + "\" 出现在在线 PDF 中的次数为: " + count);

        } catch (Exception e) {
            System.err.println("处理 PDF 时出错: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

